/**
 * 
 */
package service;

import java.util.Date;

import entity.Employee;

//strategy pattern 
//interface that define services

public abstract class EmployeeService {
	private static PaymentCheck paymentCheck;
	private Employee employee;
	private AssociationService associationService;
	public abstract float CalcPay();
	private Date LastPayDay;
	
	public float CalcAbsolutePay(){
		return CalcPay()-associationService.CalcCosts();
	}
	
	public EmployeeService(PaymentCheck paymentCheck,Employee employee, Date LastPayDay) {
		this.paymentCheck = paymentCheck;
		this.employee=employee;
		this.LastPayDay=LastPayDay;
	}

	public PaymentCheck getPaymentCheck() {
		return paymentCheck;
	}


	public Employee getEmployee() {
		return employee;
	}


	public void setEmployee(Employee employee) {
		this.employee = employee;
	}

	public AssociationService getAssociationService() {
		return associationService;
	}

	public void setAssociationService(AssociationService associationService) {
		this.associationService = associationService;
	}

	public Date getLastPayDay() {
		return LastPayDay;
	}

	public void setLastPayDay(Date lastPayDay) {
		LastPayDay = lastPayDay;
	}

	

}
